/**
 * 
 */
package edu.sjtu.seda.stage;

import edu.sjtu.seda.controller.Controller;
import edu.sjtu.seda.event.EventHandler;
import edu.sjtu.seda.eventqueue.EventQueue;
import edu.sjtu.seda.stage.api.StageConfig;
import edu.sjtu.seda.threadpool.ThreadPool;
import edu.sjtu.seda.threadpool.StageManager;

/**
 * @author john.zhu
 *
 */
public interface StageWrapper {
	
	public Stage getStage();
	
	public EventHandler getEventHandler();
	
	public EventQueue getEventQueue();
	
	public StageManager getStageManager();
	
	public ThreadPool getThreadPool();
	
	public Controller getController();
	
	public StageConfig getConfig();
	
	public void start();
	
	public void destroy();
	
	public boolean isTerminated();

}
